home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / rpgedi1a / frmdispl.frm (.txt) < prev    next >
Visual Basic Form  |  1999-10-18  |  22KB  |  494 lines

  1. VERSION 5.00
  2. Begin VB.Form frmDisplay 
  3.    AutoRedraw      =   -1  'True
  4.    BackColor       =   &H00000000&
  5.    BorderStyle     =   3  'Fixed Dialog
  6.    ClientHeight    =   8595
  7.    ClientLeft      =   150
  8.    ClientTop       =   1050
  9.    ClientWidth     =   10365
  10.    ControlBox      =   0   'False
  11.    Icon            =   "frmDisplay.frx":0000
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    MouseIcon       =   "frmDisplay.frx":08CA
  16.    MousePointer    =   99  'Custom
  17.    ScaleHeight     =   8595
  18.    ScaleWidth      =   10365
  19.    ShowInTaskbar   =   0   'False
  20.    WindowState     =   2  'Maximized
  21.    Begin VB.PictureBox picBack 
  22.       AutoRedraw      =   -1  'True
  23.       AutoSize        =   -1  'True
  24.       BackColor       =   &H00000000&
  25.       Height          =   23595
  26.       Left            =   -22800
  27.       ScaleHeight     =   23535
  28.       ScaleWidth      =   27420
  29.       TabIndex        =   0
  30.       Top             =   -19320
  31.       Visible         =   0   'False
  32.       Width           =   27480
  33.    End
  34.    Begin VB.PictureBox picBuf 
  35.       AutoRedraw      =   -1  'True
  36.       AutoSize        =   -1  'True
  37.       BackColor       =   &H00000000&
  38.       BorderStyle     =   0  'None
  39.       Height          =   6735
  40.       Left            =   -3840
  41.       ScaleHeight     =   6735
  42.       ScaleWidth      =   8850
  43.       TabIndex        =   2
  44.       Top             =   -2040
  45.       Width           =   8850
  46.    End
  47.    Begin VB.PictureBox picSpr 
  48.       AutoRedraw      =   -1  'True
  49.       AutoSize        =   -1  'True
  50.       Height          =   6915
  51.       Left            =   360
  52.       Picture         =   "frmDisplay.frx":0A1C
  53.       ScaleHeight     =   6855
  54.       ScaleWidth      =   4035
  55.       TabIndex        =   1
  56.       Top             =   -600
  57.       Visible         =   0   'False
  58.       Width           =   4095
  59.    End
  60. Attribute VB_Name = "frmDisplay"
  61. Attribute VB_GlobalNameSpace = False
  62. Attribute VB_Creatable = False
  63. Attribute VB_PredeclaredId = True
  64. Attribute VB_Exposed = False
  65. 'variables must be declared before use
  66. Option Explicit
  67. '========================================================='
  68. '========================================================='
  69. '=============== RPG Game Version 0.0.4 =================='
  70. '============== Written by Matthew Eagar ================='
  71. '============ Compiled in Visual Basic 6.0 ==============='
  72. '========================================================='
  73. '========================================================='
  74. '   This program is a work in progress.  As of yet it has no
  75. '   actual plot, so it's not really a playable game.
  76. '   I'm thinking towards making it almost like a MUD (you know
  77. '   those text based RPG's?), except graphical.  That's something
  78. '   fore the future though...
  79. '   This isn't ment to be a full game, just a working engine.
  80. '   there is no actual objective.  I havn't yet got doors
  81. '   working, because that would require me to draw some more
  82. '   textures for the insides of houses, which takes FOREVER!
  83. '   Also, the textures could REALLY use some work,
  84. '   as they were drawn in MS Paint.
  85. '   This program may not run well on some computers.
  86. '   The method used, bitblt, works well, but isn't designed for games.
  87. '   It runs fine on a Pentium 233, but slow on a P75.  I havn't tested
  88. '   it on anything in between those.
  89. '   I'm still working on this, so look for me to post newer versions
  90. '   of it.  It'll remain free, and it's really ment for educational purposes.
  91. '   Check on www.planet-source-code.com for my latest entries.  I'll eventually
  92. '   be opening my own web page, but for now I'm posting source code there.
  93. '   Please contact me with ANY questions, comments, suggestions, or problems,
  94. '   ANY input is welcome:
  95. '   email:  meagar@home.com
  96. '   ICQ:    45058462
  97. '   Also, I havn't tested this on any computer running anything less then VB6.
  98. '   I did run it in vb5, but it took some work.
  99. '   You will need the VB6 runtime files the use this.
  100. '   ====================================================================
  101. '   Updates and Improvements over various versions:
  102. '   Updates to Version 0.0.2:
  103. '   =========================
  104. '   -Added side scrolling and top scrolling
  105. '   -Rechanged the map size from 13x11 to 30x30 tiles to accomidate side scrolling
  106. '   -Added Bridge Tiles for bridge construction
  107. '   -Added sound effects
  108. '   -re-wrote most of movement code
  109. '   Updates to Version 0.0.3:
  110. '   =========================
  111. '   -Texture tiles redrawn in greater detail
  112. '   -Game speed increased by using While loop instead of timer
  113. '   -Options menu added, for adjusting game speed, and walking speed for slower/
  114. '       faster systems.
  115. '   -Removed the usage of the Plus / Minus keys for game speed, because there
  116. '       is now 2 kinds of speed adjustments, game and walking
  117. '   Updates to Version 0.0.4:
  118. '   =========================
  119. '   -Added resolution code for changing the resolution and color depth
  120. '   -Added neet startup menu
  121. '   -Began implimenting character classes
  122. '   -Added many new graphics for character classes
  123. '   -Redrew character sprite in much greater detail.
  124. Dim animX As Integer    'holds the current x location of the animation frame
  125. Dim animY As Integer    'holds the current y location of the animation frame
  126. Dim direction As Integer    'the direction the characters facing
  127. Dim charX As Integer       'holds the character's x coords
  128. Dim charY As Integer       'holds the character's y coords
  129. Dim lastX As Integer    'holds the character's last y coords
  130. Dim lastY As Integer    'holds the character's last x coords
  131. Dim BackBuilt As Integer 'determines if the back ground needs to be built
  132. 'map variables
  133. Dim mapX As Integer     'holds the current map x number
  134. Dim mapY As Integer     'holds the current map y number
  135. Dim mapArea As String      'the current map mapArea
  136. Dim MapName As String   'holds the name of the map
  137. 'the location of the screen
  138. Dim screenX As Integer  'holds the current location of the screen on the map
  139. Dim screenY As Integer  'holds the current location of the screen on the map
  140. Dim charPosX As Integer 'holds the coords to center the character on the screen
  141. Dim charPosY As Integer 'holds the coords to center the character on the screen
  142. Dim sound As Boolean     'holds whether to play sounds or not
  143. Dim moving As Integer   'holds whether the character is moving or not
  144. Dim changeFrame As Integer  'holds when the frame should be changed (animation is much to fast with out this)
  145. Dim sndStep1 As String  'holds the path of the "step sound"
  146. 'symbolic constants
  147. 'directions
  148. Const dLEFT As Integer = 1    'left direction
  149. Const dUP As Integer = 2      'up direction
  150. Const dRIGHT As Integer = 3   'right direction
  151. Const dDOWN  As Integer = 4   'down direction
  152. 'animation frames
  153. Const aLEFT As Integer = 133    'left animation
  154. Const aUP As Integer = 67    'up animation
  155. Const aRIGHT As Integer = 199 'right animation
  156. Const aDOWN As Integer = 1  'down animation
  157. 'when the user presses a key
  158. Private Sub picBuf_KeyDown(KeyCode As Integer, Shift As Integer)
  159.     Dim X As Integer 'counting variable
  160.     'if movement, turn the mouse cursor into the invisible icon.
  161.     'simply making a mouse cursor that was invisible is easier
  162.     'then using API calls.
  163.     frmDisplay.MouseIcon = frmTextures.picInvisible.Picture
  164.     If moving <> 1 Then
  165.         'determine how to act, based on which key the user presses.
  166.         Select Case KeyCode
  167.         Case Is = 37    'left arrow key
  168.             animX = aLEFT   'set the animation frame to the proper direction
  169.             direction = dLEFT 'set the direction
  170.         Case Is = 38    'up arrow key
  171.             animX = aUP 'set the animation frame to the proper direction
  172.             direction = dUP
  173.         Case Is = 39    'right arrow key
  174.             animX = aRIGHT
  175.             direction = dRIGHT
  176.         Case Is = 40    'down arrow key
  177.             animX = aDOWN
  178.             direction = dDOWN
  179.         Case Is = 27    'escape key
  180.             'play the button sound
  181.             Call sndPlaySound(sndButton, &H1)
  182.             
  183.             'show the startup window, and hide this one
  184.             frmStartup.Show
  185.             frmDisplay.Hide
  186.             frmStartup.SetFocus
  187.         Case Is =